package com.dog.framework.core.utils;


import cn.hutool.core.lang.UUID;
import lombok.extern.slf4j.Slf4j;

/**
 * ID生成器工具类
 *
 * @author thinglinks
 */
@Slf4j
public class UuIdUtils {
    /**
     * 获取随机UUID
     *
     * @return 随机UUID
     */
    public static String randomUUID() {
        return UUID.randomUUID().toString();
    }

    /**
     * 简化的UUID，去掉了横线
     *
     * @return 简化的UUID，去掉了横线
     */
    public static String simpleUUID() {
        return UUID.randomUUID().toString(true);
    }

    /**
     * 获取随机UUID，使用性能更好的ThreadLocalRandom生成UUID
     *
     * @return 随机UUID
     */
    public static String fastUUID() {
        return UUID.fastUUID().toString();
    }

    /**
     * 简化的UUID，去掉了横线，使用性能更好的ThreadLocalRandom生成UUID
     *
     * @return 简化的UUID，去掉了横线
     */
    public static String fastSimpleUUID() {
        return UUID.fastUUID().toString(true);
    }


    public static void main(String[] args) {
        log.info("randomUUID {}",randomUUID());
        log.info("simpleUUID {}",simpleUUID());
        log.info("fastUUID {}",fastUUID());
        log.info("fastSimpleUUID {}",fastSimpleUUID());
    }
}
